package com.stedu.mapper;

import com.stedu.bean.Book;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;


public interface BookMapper {
    //查询所有书籍及分类
    List<Book> selectAll();

    //查询所有书籍
    List<Book> selectBook();

    //获取某个书籍所有借了的用户aid
    List<Integer> selectAidByBid(Integer bid);

    //删除某个书籍和所有用户的关联关系
    void deleteBidAndAidByBid(Integer bid);

    //添加某个书籍和所有用户的关联关系
    void insertBidAndAid(@Param("bid") Integer bid, @Param("aids") Integer[] aids);

    //添加书籍
    int insertBook(Book book);

    //删除书籍
    int deleteBook(Integer bid);

    //修改书籍
    int updateBook(Book book);

    //根据书名查询
    List<Book> selectByBname(@Param("bname") String bname, @Param("bauthor") String bauthor);

    //根据书籍ID查询
    Book selectByBid(Integer bid);

    //根据书籍作者查询
    List<Book> selectByAuthor(String bauthor);

    //分类并查询
    List<Map<String, Object>> selectBidAndCid(String cname);

    //根据CID查询书籍
    List<Book> selectBycid(Integer cid);

    // 根据 bid 查询书籍及其分类
    Book selectBookWithClassifies(String bname);
}
